{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}
{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f39\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\f40\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f42\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f43\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f44\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\f45\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f46\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f47\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f49\fbidi \fswiss\fcharset238\fprq2 Arial CE;}
{\f50\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}{\f52\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\f53\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\f54\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}
{\f55\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\f56\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\f57\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f59\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
{\f60\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f62\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f63\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f64\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
{\f65\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f66\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f67\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f379\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}
{\f380\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f382\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f383\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f386\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}
{\f419\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;}{\f420\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f422\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;}{\f423\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}
{\f424\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f425\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f426\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f427\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}
{\f428\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}
{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}
{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;
\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;
\red192\green192\blue192;\cfollowedhyperlink\ctint255\cshade255\red128\green0\blue128;}{\*\defchp \fs22 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{
\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{
\s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af1\afs32\alang1025 \ltrch\fcs0 \b\f1\fs32\lang1033\langfe1033\kerning32\cgrid\langnp1033\langfenp1033 
\sbasedon0 \snext0 \slink15 \sqformat \styrsid10703373 heading 1;}{\s2\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\ai\af1\afs28\alang1025 \ltrch\fcs0 
\b\i\f1\fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink16 \sqformat \styrsid10703373 heading 2;}{\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 
\rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 \b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink17 \sqformat \styrsid10703373 heading 3;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused \sqformat Normal Table;}{\*\cs15 \additive 
\rtlch\fcs1 \ab\af31503\afs32 \ltrch\fcs0 \b\fs32\kerning32\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink1 \slocked \spriority9 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\ai\af31503\afs28 \ltrch\fcs0 
\b\i\fs28\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink2 \slocked \ssemihidden \spriority9 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \ab\af31503\afs26 \ltrch\fcs0 \b\fs26\loch\f31502\hich\af31502\dbch\af31501 
\sbasedon10 \slink3 \slocked \ssemihidden \spriority9 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid12675304 Hyperlink;}{
\s19\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs16\alang1025 \ltrch\fcs0 \f38\fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext19 \slink20 \ssemihidden \styrsid12326379 
Balloon Text;}{\*\cs20 \additive \rtlch\fcs1 \af38\afs16 \ltrch\fcs0 \f38\fs16 \sbasedon10 \slink19 \slocked \ssemihidden Balloon Text Char;}{\*\cs21 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf17 \sbasedon10 \ssemihidden \sunhideused \styrsid16599692 
FollowedHyperlink;}}{\*\rsidtbl \rsid7643\rsid32378\rsid89361\rsid283711\rsid596181\rsid678107\rsid882764\rsid1201736\rsid1408106\rsid1444791\rsid1639791\rsid1791669\rsid1904095\rsid2367862\rsid2432963\rsid2443813\rsid2493452\rsid2497976\rsid2521866
\rsid2565255\rsid2643707\rsid2652793\rsid2766341\rsid2780820\rsid2829236\rsid2829749\rsid2845617\rsid2890626\rsid3086280\rsid3086748\rsid3099116\rsid3149574\rsid3160347\rsid3218881\rsid3435944\rsid3476935\rsid3542891\rsid3690738\rsid3760170\rsid3877049
\rsid3885712\rsid3999952\rsid4206376\rsid4281682\rsid4347205\rsid4392880\rsid5066823\rsid5074900\rsid5078752\rsid5184116\rsid5252740\rsid5450346\rsid5571757\rsid5658309\rsid5781541\rsid6037321\rsid6041525\rsid6122204\rsid6320072\rsid6509737\rsid6562733
\rsid6585317\rsid6624400\rsid6706447\rsid6761408\rsid6770831\rsid6771254\rsid6895096\rsid7078328\rsid7080344\rsid7412419\rsid7424115\rsid7427807\rsid7486901\rsid7563147\rsid7568247\rsid7614624\rsid7686316\rsid7876934\rsid7887376\rsid8158488\rsid8261482
\rsid8392103\rsid8471209\rsid8551083\rsid8744189\rsid8872195\rsid8940148\rsid8983329\rsid8995506\rsid9006860\rsid9139604\rsid9200587\rsid9324333\rsid9589650\rsid9778938\rsid9782265\rsid9853054\rsid10027817\rsid10306052\rsid10374453\rsid10500569
\rsid10515867\rsid10621798\rsid10703373\rsid10833686\rsid10834977\rsid10842059\rsid10968082\rsid11014455\rsid11018642\rsid11468925\rsid11538427\rsid11559080\rsid11603567\rsid11808738\rsid11948210\rsid12003006\rsid12220413\rsid12326379\rsid12477343
\rsid12480469\rsid12675304\rsid12737063\rsid12913132\rsid12998331\rsid13051161\rsid13108204\rsid13316648\rsid13446123\rsid14309294\rsid14573838\rsid14746123\rsid15035329\rsid15220984\rsid15223247\rsid15286429\rsid15361699\rsid15363971\rsid15543112
\rsid15561224\rsid15741723\rsid15932462\rsid15950545\rsid16188510\rsid16277176\rsid16410145\rsid16450858\rsid16468135\rsid16588813\rsid16592294\rsid16598310\rsid16599692}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0
\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\title DirectShowLib Version 1}{\author David Wohlferd}{\operator david}{\creatim\yr2010\mo2\dy11\hr21\min19}{\revtim\yr2010\mo2\dy16\hr19\min29}{\version3}{\edmins12}{\nofpages7}{\nofwords2671}
{\nofchars15990}{\*\company Personal Copy}{\nofcharsws18624}{\vern32771}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect 
\widowctrl\ftnbj\aenddoc\trackmoves1\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\noxlattoyen
\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\nolnhtadjtbl\rsidroot2845617 \fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0\ltrpar 
\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4
\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}
{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar
\s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0\pararsid10703373 \rtlch\fcs1 \ab\af1\afs32\alang1025 \ltrch\fcs0 
\b\f1\fs32\lang1033\langfe1033\kerning32\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid5450346\charrsid3885712 DirectShowLib Version }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid596181 2.1}{\rtlch\fcs1 \af1 \ltrch\fcs0 
\insrsid5450346\charrsid3885712 
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid5450346 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid5450346\charrsid3885712 
\par Version }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16599692 2.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid596181 1}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid8392103\charrsid3885712  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid5450346\charrsid3885712 of the DirectShowLib library is the result of work done by:
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid5450346 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid5450346\charrsid3885712 David Wohlferd (}{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid5450346\charrsid3885712  HYPERLINK "mailto:snarfle@users.SourceForge.net" }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid1639791\charrsid3885712 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b02000000170000001e00000073006e006100720066006c0065004000750073006500720073002e0053006f00750072006300650046006f007200670065002e006e00650074000000e0c9ea79f9bace118c8200aa004ba90b4a0000006d00610069006c0074006f003a0073006e00
6100720066006c0065004000750073006500720073002e0053006f00750072006300650046006f007200670065002e006e0065007400000000000000000000000000000000000000000000000000000000000000000000000000000000}}}{\fldrslt {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\cs18\f1\fs20\ul\cf2\insrsid5450346\charrsid3885712 snarfle@users.SourceForge.net}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid5450346\charrsid3885712 )
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7686316\charrsid3885712 Eric Nowinski}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid5450346\charrsid3885712  (}{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid5450346\charrsid3885712  HYPERLINK "mailto:nowinskie@users.SourceForge.net" }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid1639791\charrsid3885712 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000017000000200000006e006f00770069006e0073006b00690065004000750073006500720073002e0053006f00750072006300650046006f007200670065002e006e00650074000000e0c9ea79f9bace118c8200aa004ba90b4e0000006d00610069006c0074006f003a00
6e006f00770069006e0073006b00690065004000750073006500720073002e0053006f00750072006300650046006f007200670065002e006e0065007400000000000000000000000000000000000000000000000000000000000000000000000000000000}}}{\fldrslt {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\cs18\f1\fs20\ul\cf2\insrsid5450346\charrsid3885712 nowinskie@users.SourceForge.net}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid5450346\charrsid3885712 )}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid5450346 
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12326379\charrsid12326379 \'d8ystein Hansen}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12326379  (}{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid15361699  HYP
ERLINK "mailto:oohansen@users.sourceforge.net" }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid1639791\charrsid15361699 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b4c0000006d00610069006c0074006f003a006f006f00680061006e00730065006e004000750073006500720073002e0073006f00750072006300650066006f007200670065002e006e00650074000000000000000000
0002000000000000000000000000}}}{\fldrslt {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \cs18\f1\fs20\ul\cf2\insrsid7614624\charrsid15361699 oohansen@users.sourceforge.net}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid7614624 )}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12326379\charrsid7614624 
\par }\pard \ltrpar\ql \li0\ri0\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid5450346 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid5450346\charrsid3885712 Ka-Wai Chan (}{\field\flddirty{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid5450346\charrsid3885712  HYPERLINK "mailto:kawaic@users.SourceForge.net" }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid1639791\charrsid3885712 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b02000000170000001d0000006b00610077006100690063004000750073006500720073002e0053006f00750072006300650046006f007200670065002e006e00650074000000e0c9ea79f9bace118c8200aa004ba90b480000006d00610069006c0074006f003a006b0061007700
6100690063004000750073006500720073002e0053006f00750072006300650046006f007200670065002e006e0065007400000000000000000000000000000000000000000000000000000000000000000000000000000000}}}{\fldrslt {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\cs18\f1\fs20\ul\cf2\insrsid5450346\charrsid3885712 kawaic@users.SourceForge.net}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid5450346\charrsid3885712 )}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid5450346 
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2367862 
\par See WhatsNew.txt for a list of what has changed since the previous version.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2367862\charrsid3885712 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid10703373 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2845617\charrsid3885712 Purpose of this library - What it is, what it isn't
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid9853054\charrsid3885712 Microsoft\rquote s }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid15741723\charrsid3885712 managed }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 
solution to allowing access to DirectShow from .NET isn\rquote t nearly as complete as the DirectShow interfaces for C++.  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid596181 What\rquote s more, MS has dropped support for this solution.  }{
\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 For developers who want the complete range of functionality of DirectShow in .NET, this library provides the enums, structs, and interface definitions to access them.
\par Reviewing the source code will show that there is very little executable code}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid15741723\charrsid3885712  in this library}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 
.  There are a few helper functions (mostly in DsUtils.cs), but everything else in the library is just definitions.
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12477343\charrsid3885712 Although there are ~}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid596181 541}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16599692\charrsid3885712  }{\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12477343\charrsid3885712 interfaces defined in the source code, only }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2367862 some}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12326379\charrsid3885712  }{
\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12477343\charrsid3885712 of them have been tested to ensure that they }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid3542891 will work correctly }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid12477343\charrsid3885712 (see \'93}{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6706447\charrsid3885712  REF _Ref106788191 \\h }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid1639791\charrsid3885712 
{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f00520065006600310030003600370038003800310039003100000000000000}}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid3885712\charrsid3885712  \\* MERGEFORMAT }}{\fldrslt {
\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16188510\charrsid16188510 Using untested interfaces}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12477343\charrsid3885712 \'94 and \'93}
{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6706447\charrsid3885712  REF _Ref106788227 \\h }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid1639791\charrsid3885712 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f00520065006600310030003600370038003800320032003700000000000000}}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid3885712\charrsid3885712  \\* MERGEFORMAT }}{\fldrslt {\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid16188510\charrsid16188510 The plan for additional interfaces}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12477343\charrsid3885712 \'94
 below).  The list of interfaces indicating which ones }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid596181 have been tested can be found in}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12477343\charrsid3885712  inter}{\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2890626 f}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12477343\charrsid3885712 aces.txt.
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 In addition to the library, a number of samples are provided showing how to use the library to accomplish general purpose tasks.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid8392103   The sam}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid4347205 ples are in a separate download from this library, so make sure you download both.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 

\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid10703373 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15741723\charrsid3885712 Licensing
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid15741723 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid15741723\charrsid3885712 This library is licensed under }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7427807\charrsid3885712 GNU LESSER GENERAL PUBLIC LICENSE}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid15741723\charrsid3885712 , }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7427807\charrsid3885712 Version 2.1}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid15741723\charrsid3885712 .}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid7427807\charrsid3885712   See license.txt for the complete text.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid15741723\charrsid3885712 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid10703373 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid10834977\charrsid3885712 Microsoft's plans for DirectShow
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid10834977 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid16599692 Microsoft has made additions to DirectShow in Vista.  However, }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid3542891 it }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16599692 is expected }{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid3542891 that this is the }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16599692 last update they will ever do for Direct
Show.  The additions in Vista are not expected to be made available for XP.  The replacement for DirectShow is Media Foundation.  However, since Media Foundation doesn\rquote 
t yet have the same level of functionality as Directshow, it may be a long time before DirectShow is considered dead.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid3542891 
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid596181 Update: Microsoft continued to add interfaces to DS in W7.  The majority of these interfaces had to do with digital TV.  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2890626 
All of these interfaces have been added to the library, although m}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid596181 ost of }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2890626 them }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid596181 are }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2890626 untested.  See \'93}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2890626\charrsid2890626 Using untested interfaces}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid2890626 \'94 later in this document for the differences between tested and untested interfaces.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid596181\charrsid3885712 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid10703373 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2845617\charrsid3885712 Supported platforms, languages}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\insrsid2845617\charrsid3885712 
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid2845617\charrsid3885712 This library is usable from C# and VB.NET, and should work from other .NET compatible languages.  It was tested against DirectX version 9.0c on Windows XP}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid9853054\charrsid3885712  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16188510 and Vista }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 using the }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid8392103 2.0 }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 .NET framework}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid3885712 
.  While the library itself should work on earlier versions of DirectX, some of the interfaces defined in the library w}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 ere not introduced until }{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid6771254\charrsid3885712 DirectX }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 v9.0}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16188510 , and some of them are new to Vista}{\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid596181  or W7.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 
\par }\pard \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid16188510 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16599692 As of v2.0, the library should work for }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid16188510 both 32 bit and }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16599692 64 bit versions of }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2890626 XP, Vista and W7}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid16599692 .}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16188510   Also in v2.0, we have dropped support for (the now 4 year old) vs2003.  W}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16188510\charrsid16188510 
e haven't (to our knowledge) done anything to the library that will prevent it from working}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16188510  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16188510\charrsid16188510 
with 2003, but since none of the dev team still has it installed, we haven't tried it.  If you are still using vs2003, you can check the cvs tree at sourceforge for the old .csproj and .sln files.}{\rtlch\fcs1 \af1 \ltrch\fcs0 
\f1\insrsid16599692\charrsid3885712 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid10703373 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2845617\charrsid3885712 {\*\bkmkstart _Ref106788285}Where to find the documentation}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\fs20\insrsid2845617\charrsid3885712 {\*\bkmkend _Ref106788285}
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid2845617\charrsid3885712 Since the purpose of this library is to allow for the calling of the DirectShow interfaces, the primary source of documentation is MSDN.  You can find DirectShow documentation (today at least) at }
{\field{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid8744189  HYPERLINK "http://msdn2.microsoft.com/en-us/library/dd375454(VS.85).aspx" }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid1639791 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b9400000068007400740070003a002f002f006d00730064006e0032002e006d006900630072006f0073006f00660074002e0063006f006d002f0065006e002d00750073002f006c006900620072006100720079002f00
640064003300370035003400350034002800560053002e003800350029002e0061007300700078000000795881f43b1d7f48af2c825dc485276300000000a5ab00000000}}}{\fldrslt {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \cs18\f1\fs20\ul\cf2\insrsid16599692\charrsid8744189 
http://msdn2.microsoft.com/en-us/library/}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \cs18\f1\fs20\ul\cf2\insrsid8744189\charrsid8744189 dd375454(VS.85).aspx}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid2845617\charrsid3885712 .  The interfaces are documented in the }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 \'93DirectShow }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid3885712 
Reference}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 \'94 section, and general discussions of how DirectShow works can be found in the \'93About DirectShow\'94 section}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid6771254\charrsid3885712  of that page}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 .}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid3885712 
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 The few helper classes we have added are documented below in }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid3885712 \'93}{\field\fldedit{\*\fldinst {
\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6706447\charrsid3885712  REF _Ref106788262 \\h }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid1639791\charrsid3885712 {\*\datafield 
08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f00520065006600310030003600370038003800320036003200000000000000}}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid3885712\charrsid3885712  \\* MERGEFORMAT }}{\fldrslt {\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid16188510\charrsid16188510 Helper Classes}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid3885712 \'94}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid9853054\charrsid3885712 .}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid3885712 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid10703373 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2845617\charrsid3885712 Differences between MSDN docs and using our library
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid16277176\charrsid3885712 It most cases, you should expect that you call the interface methods the same way MSDN says it should be called.  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid3885712 
The primary differences between our definitions and those found on MSDN are places where MSDN documents methods returning an int, but then say}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16277176\charrsid3885712 s}{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid3885712  the content of the int is some enum.  We change the definition to be the enum.  
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 The names of the structures and enum have been changed to use a more .NET friendly style: AM_SAMPLE2_PROPERTIES -> AMSample2Properties}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid1408106\charrsid3885712 .  Note that the original C++ structure or enum name is provided in comments above the declaration.  If there is some specific declaration you need to find, do a scan of the }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid16277176\charrsid3885712 library\rquote s }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid1408106\charrsid3885712 source file}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16277176\charrsid3885712 s}{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid1408106\charrsid3885712  for the name.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid9853054\charrsid3885712 
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid5571757\charrsid3885712 Additionally, there are a number of DirectShow interfaces that allow a NULL to be passed as a parameter.  When the parameter is a }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid7643\charrsid3885712 class}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid5571757\charrsid3885712  or an interface, this doesn\rquote t present a problem.  However, the
re are also places that use long or Guid.  To allow for the passing of NULL, wrapper classes have been created named DsLong and DsGuid.  These classes do nothing except hold the value, and provide conversion functions.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid9853054\charrsid3885712 
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid3885712 Also see the sections below on \'93}{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6706447\charrsid3885712  REF _Ref106788322 \\h }{\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid1639791\charrsid3885712 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f00520065006600310030003600370038003800330032003200000000000000}}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid3885712\charrsid3885712  \\* MERGEFORMAT }}{\fldrslt {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16188510\charrsid16188510 How and when to use Marshal.ReleaseComObject()}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid3885712 \'94 and \'93}{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6706447\charrsid3885712  REF _Ref106788341 \\h }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid1639791\charrsid3885712 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f00520065006600310030003600370038003800330034003100000000000000}}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid3885712\charrsid3885712  
\\* MERGEFORMAT }}{\fldrslt {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16188510\charrsid16188510 Releasing memory to avoid leaks (Marshal.FreeCoTaskMem, FreeAMMediaType, FreePinInfo)}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 
\af1 \ltrch\fcs0 \f1\insrsid7887376\charrsid3885712 \'94
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid10703373 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid12675304\charrsid3885712 How Visual Basic is different
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7078328 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid12675304\charrsid3885712 Mostly, it isn\rquote t (different).  There is a sample that is a direct translation of a c#}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid8551083\charrsid3885712 
 program that uses this library (DxLogoVB).  Other than the standard \'93remove the semi-colons, and change }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid14746123\charrsid3885712 \lquote }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid8551083\charrsid3885712 int iSize}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid14746123\charrsid3885712 \rquote }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid8551083\charrsid3885712  to }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid14746123\charrsid3885712 \lquote }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid8551083\charrsid3885712 Dim iSize as int}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid14746123\charrsid3885712 \rquote , etc.}{\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid8551083\charrsid3885712 \'94, there wasn\rquote t much to this conversion.  }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid11468925\charrsid3885712 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid10703373 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2845617 {\*\bkmkstart _Ref106788322}How and when to use Marshal.ReleaseComObject(){\*\bkmkend _Ref106788322}
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 
.NET has a built-in limitation when handling COM methods.  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid5571757 This problem affects any .NET class calling COM, not just our library.  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 
The problem }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid14746123 description }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 is }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid14746123 rather }{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid2845617 involved, but boils down to two }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid14746123 key }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 facts:
\par 1) Objects in .NET aren't released as soon as they go out of scope.  You have to wait for the }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid10834977 G}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 arbage }{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid10834977 C}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 ollector to free them.  As a result, you may get "in use" errors for items you thought should be released.  GC.Collect may help}{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid14746123  with this}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 .  Also, you can use Marshal.ReleaseComObject.  However, that may introduce other problems (see #2).
\par 2) If you create a }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid3099116 COM}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617  object, then do 
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid14746123 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid14746123\charrsid3885712 IGraphBuilder  graphBuilder = (IGraphBuilder) new FilterGraph();
\par IMediaControl  imc}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid2845617\charrsid3885712  = }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid14746123\charrsid3885712 graphBuilder}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 
\f2\fs20\insrsid2845617\charrsid3885712  as }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid14746123\charrsid3885712 IMediaControl}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid2845617\charrsid3885712 ;
\par }\pard \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 Calling Marshal.ReleaseComObject on either }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid14746123\charrsid14746123 graphBuilder }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 or }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid14746123 imc }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 
will invalidate BOTH }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid14746123\charrsid14746123 graphBuilder }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 and }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid14746123 imc}{
\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 .  For a good article on this, }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid10834977 read }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 Chris Brumme's weblog at }
{\field{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid10834977  HYPERLINK "http://blogs.msdn.com/cbrumme/archive/2003/04/16/51355.aspx" }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid1639791\charrsid10834977 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b7800000068007400740070003a002f002f0062006c006f00670073002e006d00730064006e002e0063006f006d002f0063006200720075006d006d0065002f0061007200630068006900760065002f00320030003000
33002f00300034002f00310036002f00350031003300350035002e006100730070007800000000000000000000000000000004000000000000000000000000000000000000000000000000000000}}}{\fldrslt {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\cs18\f1\fs20\ul\cf2\insrsid2845617\charrsid10834977 http://blogs.msdn.com/cbrumme/archive/2003/04/16/51355.aspx}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 .
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid10703373 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2845617 {\*\bkmkstart _Ref106788341}Releasing memory to avoid leaks (Marshal.FreeCoTaskMem, FreeAMMediaType, FreePinInfo){\*\bkmkend _Ref106788341}
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 
Some of the interfaces in DirectShow allocate memory that needs to be released by the caller.  Make sure you read the }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid5571757 MSDN }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 
docs for any methods you are calling to ensure that you know when you are required to release memory.  Be aware that memory allocated by COM objects isn't automatically freed }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid5571757 
by the Garbage Collector }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 like memory allocated for you by most .NET functions.
\par Some specific examples of methods that require you to free memory, along with the excerpt from the MSDN docs that lets you know }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7563147 how the }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid2845617 memory must be freed.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7563147   For each example, the .NET equivalent method is described.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 
\par IOverlay::GetClipList: }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid2845617 If successful, the Microsoft\'ae Win32\'ae }{\rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\insrsid2845617 CoTaskMemFree}{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid2845617 
 function should free memory.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2845617  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid3885712 Use Marshal.FreeCoTaskMem to release this memory.
\par IMediaSample::GetMediaType:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2845617  }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid2845617 When you are done with the media type, free the memory block by calling the }{\field{\*\fldinst {\rtlch\fcs1 \ab\ai\af0\afs20 
\ltrch\fcs0 \b\i\fs20\insrsid2845617 HYPERLINK "deletemediatype.htm"}{\rtlch\fcs1 \ab\ai\af0\afs20 \ltrch\fcs0 \b\i\fs20\insrsid1639791\charrsid10703373 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b0200000001000000e0c9ea79f9bace118c8200aa004ba90b6600000053006f00750072006300650046006f007200670065002f00640069007200650063007400730068006f0077006c00690062002f0044006f00630073002f00640065006c006500740065006d00650064006900
610074007900700065002e00680074006d0000000000000000000000000000000000000000e90000000000000000000000000000000000}}}{\fldrslt {\rtlch\fcs1 \ai\af0\afs20 \ltrch\fcs0 \i\fs20\insrsid2845617 DeleteMediaType}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {
\rtlch\fcs1 \ai\af0\afs20 \ltrch\fcs0 \i\fs20\insrsid2845617\charrsid2829749  }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid2845617\charrsid2829749 utility function.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2845617\charrsid2829749   }{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid3885712 Use DsUtils.FreeAMMediaType() to free this object.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2845617\charrsid2829749 
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid2565255 IPin::QueryPinInfo}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid2845617\charrsid3885712 :}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2845617\charrsid2829749  }{\rtlch\fcs1 \ai\af0 
\ltrch\fcs0 \i\insrsid2845617\charrsid2829749 if the pFilter member of the PIN_INFO structure is non-NULL, it has an outstanding reference count. Be sure to release the interface when you are done.}{\rtlch\fcs1 \af0 \ltrch\fcs0 
\insrsid2845617\charrsid2829749   }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid3885712 Use DsUtils.FreePinInfo() to free this object.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid6585317 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid6585317\charrsid6585317 About the differences between Direct3D and Managed Direct3D
\par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid6585317 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid6585317\charrsid2443813 The docs directory contains a document describing using Microsoft\rquote s managed DirectX classes with the interfaces in this library.  It is named \'93Mixing Unmanaged & Managed Direct3D.rtf\'94.

\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid10703373 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid7887376\charrsid1408106 {\*\bkmkstart _Ref106788262}Helper Classes{\*\bkmkend _Ref106788262}
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7887376 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid7887376 While the library primarily just provides mappings to the DirectShow interfaces, there are a few helper functions we have added that may be useful:
\par }{\rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\insrsid7887376\charrsid32378 DsGuid}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash 
 This class is a wrapping for Guid.  There are a number of interfaces in DirectShow that allow you to pass a null to a parameter that accepts a Guid (for example }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid8158488 
ICaptureGraphBuilder2}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7887376\charrsid8158488  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid8158488 FindInterface}{\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 ).  However, since the .NET implementation of Guid derives from System.ValueType, you can\rquote t pass a null to a parameter declared }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7563147 as }{
\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 Guid.  This class does nothing except construct using a Guid, and convert between Guid and DsGuid.
\par }{\rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\insrsid7887376\charrsid32378 DsLong}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash 
 As with DsGuid, this class is a wrapper class.  It wraps longs for interface methods that accept null (for example }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid8158488 ICaptureGraphBuilder2}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid7887376 .}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid8158488 ControlStream}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 ).
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11808738 DsRect \endash  As with DsGuid, this class is a wrapper class.  It wraps }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12003006 the Win32 RECT structure.}{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid11808738 
\par }{\rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\insrsid7887376\charrsid32378 DsResults}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash  This class consists of DirectShow specific error and status codes.  It }{\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7563147 is based on}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  vfwmsgs.h.  Note that it does NOT include regular COM error code
s such as might be found in winerror.h.  These codes can be used to check for known error conditions:
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7887376 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid7887376 hr = iSomething.DoSomething();
\par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\cf2\insrsid7887376 if}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid7887376  (hr == DsResults.E_NotConnected)
\par    }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\cf11\insrsid7887376 // Try connecting
\par }\pard \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7887376 {\rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\insrsid7887376\charrsid32378 DsError}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  
\endash  This class contains two methods.  
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid32378 ThrowExceptionForHR}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  is a wrapper for Marshal.ThrowExceptionForHR, but additionally provides }{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid7563147 descriptions for }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 any DirectShow specific error messages.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid15950545 
  Note that you do not have to check for negative values before calling this method.  If the hr value is not a fatal error, no exception will be thrown:}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid15950545 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid15950545 hr = iSomething.DoSomething();
\par DsError.ThrowExceptionForHR(hr);
\par 
\par }\pard \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7887376 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid32378 AMGetErrorText}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  map
}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12326379 s}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  the DirectShow function of the same name to retrieve DirectShow error code text.
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12326379\charrsid12326379 GetErrorText}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12326379  is a wrapper for AMGetErrorText that returns a string.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid12326379\charrsid12326379 
\par }{\rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\insrsid7887376\charrsid5781541 DsUtils}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash  This class contains three methods:
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid5781541 FreeAMMediaType}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash 
 This method should be called to release any AMMediaType structures.  Do not depend on the Garbage Collector to correctly release AMMediaType structures.  It is the .NET implementation of the MSDN }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid7563147 function }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid5781541 DeleteMediaType}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7563147 ()}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 .

\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid5781541 FreePinInfo}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash  This method shoul
d be called to release any PinInfo structures. Do not depend on the Garbage Collector to correctly release PinInfo structures.
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid10842059 Guid}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid10842059 GetPinCategory(IPin pPin)}{
\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash  This method returns the Guid (usually a member of }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid10842059 PinCategory}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid7887376 ) that tells the category of the pin: Capture, Preview, etc.
\par }{\rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\insrsid7887376\charrsid10842059 DsROTEntry}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash  This class is }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11603567 primarily}{
\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  useful in debugging.  When building a graph it is very useful to be able to see what filters have been added to the graph, and how they are connected.  The MS Platform SDK contains a utility na
med GraphEdit that }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7563147 visually displays filter graphs.  It }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 
can connect to graphs in other applications that have placed their FilterGraph in the Running Object Table (ROT).  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7563147 An application can put its FilterGraph in the ROT with}{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid7887376 :
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid3877049    }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid7887376\charrsid3877049 DsROTEntry m_rot = new DsRot}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid3877049 Entry}{\rtlch\fcs1 
\af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid7887376\charrsid3877049 (filtergraph);
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 Having done this, you can use the \'93File/Connect to Remote Graph\'94 }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7563147 in GraphEdit }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid7887376 to see the graph.  The DsROTEntry class supports Dispose to release the entry when it is no longer }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7563147 needed}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 .

\par }{\rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\insrsid7887376\charrsid6037321 DsDevice}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash  This class a
llows for the enumeration of system resources such as Video Capture cards, Audio Capture cards, Compressors, etc (see the }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid6037321 FilterCategory}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid7887376  class for a list of what can be enumerated).}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12003006   The Moniker for the device is returned by the Mon property.  This is useful for methods such as }{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid12003006\charrsid12003006 IFilterGraph2}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12003006 .}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12003006\charrsid12003006 AddSourceFilterForMoniker}{\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12003006 .  The human readable name is returned in the Name property.  The DevicePath returns a unique identifier for the device allowing you to distinguish between two instance of the same hardware.}{\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid5074900\charrsid12003006 
\par }\pard \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid11603567 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6041525 static }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6041525\charrsid6041525 
DsDevice[]}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6041525  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6041525\charrsid6041525 GetDevicesOfCat(}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6041525 Guid Category}{\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6041525\charrsid6041525 )}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6041525 ; - Use this}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  static }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid6041525 method }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 to return an array of the desired resource, then use the Name and Mon (moniker) properties to manipulate the resource.  See Samples\\}{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid6037321 Capture\\PlayCap}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  or Samples\\}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid6037321 Misc\\DxWebCam\\Service}{
\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  for examples of how this is done.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid5074900 
\par }\pard \ltrpar\ql \fi450\li0\ri0\sb100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3877049 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid5074900\charrsid3877049 DsDevice[] capDev;
\par }\pard \ltrpar\ql \fi450\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3877049 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid5074900\charrsid3877049 
\par // Get the collection of video devices
\par capDev = DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice);
\par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid11603567\charrsid3877049 foreach (DsDevice d in }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid15220984\charrsid3877049 capDev}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 
\f2\fs20\insrsid11603567\charrsid3877049 )}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid11603567 
\par }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid11018642 \{}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid11018642\charrsid3877049 
\par }\pard \ltrpar\ql \fi450\li720\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid3877049 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid5074900\charrsid3877049 // Build a list of devices for the user to choose from using d.Name}{
\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid11603567 
\par }\pard \ltrpar\ql \fi450\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid11018642 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid11018642 \}}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid11018642\charrsid3877049 
\par }\pard \ltrpar\ql \fi450\li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3877049 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid5074900\charrsid3877049 
\par }\pard \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7887376 {\rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\insrsid7887376\charrsid6037321 DsFindPin }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 
\endash  This class provides several methods of returning pins on an IBaseFilter.
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid6037321 IPin ByDirection(IBaseFilter vSource, PinDirection vDir, int iIndex)}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash 
 Scans an IBaseFilter looking for a pin in the specified direction (Input or Output), starting at the specified zero-based index.
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid6037321 IPin ByName(IBaseFilter vSource, string vPinName)}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash 
 Scans an IBaseFilter looking for a pin with the specified name.
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid6037321 IPin ByCategory(IBaseFilter vSource, Guid guidPinCat, int iIndex)}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash 
 Scans an IBaseFilter looking for a pin with the specified category (usually a member of }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid6037321 PinCategory}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 
), starting at the specified zero-based index.
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid6037321 IPin ByConnectionStatus(IBaseFilter vSource, PinConnectedStatus vStat, int iIndex)}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash 
 Scans an IBaseFilter looking for a pin with the specified status (Connect or Not Connected) starting at the specified zero-based index.
\par }{\rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\insrsid7887376\charrsid13446123 DsToString}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid3218881  }{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid7887376 This class turns }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid3218881 mediatype }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 structures }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid3218881 and Guids }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376 into human readable strings.
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid13446123 AMMediaTypeToString}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash  Produces a human readable form of an AMMediaType
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid13446123 MediaTypeToString}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash  Produces a human readable form of a MediaType
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid13446123 MediaSubTypeToString}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash  Produces a human readable form of a MediaSubType
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376\charrsid13446123 MediaFormatTypeToString}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash  Produces a human readable form of a MediaFormatType
\par }{\rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\insrsid7887376\charrsid2497976 DsMarshaler, EMTMarshaler, DTAMarshaler, DKAMarshaler}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7887376  \endash 
 These classes are used internally to marshal parameters to and from the COM interfaces.  There should be no reason to call them directly, and are mentioned here only 
for completeness.  The abstract class DsMarshaler might be of interest to someone who is writing their own custom marshaler.
\par }{\rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\insrsid15361699\charrsid10374453 DESError}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid15361699  \endash  This}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid10374453 
 class is similar in function to DsError, adding only the additional error codes for DES errors.  If you are calling a DES interface, you should use DESError to get error text, or to process errors.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid15361699 
\par }\pard \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid10374453 {\rtlch\fcs1 \ab\af1\afs20 \ltrch\fcs0 \b\f1\fs20\insrsid10374453\charrsid10374453 DMOError}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid10374453\charrsid10374453  \endash  This class is similar to DsError, adding only the additional error codes for DMO errors.  If you are calling a DMO interface, you should use DMOError to get error text, or to process errors.
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid10703373 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\insrsid15361699\charrsid10374453 DMOUtils \endash  This }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\insrsid10374453\charrsid10374453 
class serves as a wrapper for a collection of DMO APIs.  See the MSDN documentation for DMOEnum, DMORegister, DMOUnregister, DMOGetName, DMOGetTypes}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\insrsid9782265 , }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\fs20\insrsid9782265\charrsid10374453 MoInitMediaType}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\insrsid9782265  &}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\insrsid9782265\charrsid10374453  MoCopyMediaType}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\fs20\insrsid9782265 .}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15286429\charrsid2829749 Samples
\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2845617\charrsid2829749 {\*\bkmkstart _Ref106788191}Using untested interfaces{\*\bkmkend _Ref106788191}
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid2845617\charrsid2829749 The DirectShowLib contains interfaces for virtually all of DirectShow (}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7614624 ~}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid596181 541}{\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7614624  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid2829749 interfaces).  Currently, however, only }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid11014455 some of them }{\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid2829749 have been tested.  Testing includes performing each of these on each method of the interface:
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7887376 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid2829749 1) Checking to see that the method is defined correctly according to the MSDN docs
\par 2) Change int to enum where needed
\par 3) Add any needed MarshalAs
\par 4) Verify that any needed structs are correctly defined 
\par 5) Remove unneeded "ref", add needed "out"
\par 6) (Where possible) remove IntPtr and use actual structs}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid5571757  or classes}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid2829749 
\par 7) Where necessary, create custom marshalers for passing structs
\par 8) Write code that calls the method, making sure that parameters that are documented to accept null, do so
\par }\pard \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid2829749 When 1-8 have been done for all the methods in an interfa
ce, the work is submitted to a second developer for review.  When reviewed, the interface is considered tested.
\par However, it may be that you need to use an interface that hasn't been tested yet.  All the untested }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid15932462 interfaces, structs and enum are}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid2845617\charrsid2829749  included in the source, but are wrapped within:
\par }\pard \ltrpar\ql \fi360\li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3877049 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\insrsid2845617\charrsid3877049 #if ALLOW_UNTESTED_INTERFACES
\par #endif
\par }\pard \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid2829749 Release builds of our library do not expose these }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid15932462 interfaces}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid2829749 .  If you want to enable all the methods, you can use #define in specific source files or globally with project properties to define th}{
\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid15932462 is constant}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617\charrsid2829749 
, then build your own copy of the library.  However, don't be surprised if some of the methods/interfaces that haven't been tested don't work correctly.  Also, when we eventually do test the method, we may }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid15932462 modify the declaration.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2845617\charrsid2829749 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid10703373 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2845617\charrsid2829749 {\*\bkmkstart _Ref106788227}The plan for additional interfaces{\*\bkmkend _Ref106788227}
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7412419 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid7412419\charrsid7412419 As of }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6122204 v}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2565255 2.0}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7412419\charrsid7412419 
, there are no more interfaces to be tested in DirectShow}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2565255  (unless someone on our dev team purchase some hardware that supports different interfaces)}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid7412419\charrsid7412419 .  }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2565255 Since Microsoft is not planning any more releases of DirectShow, v2.0 may be the last release of the library (unless bugs are found).}{\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7412419\charrsid7412419   
\par }\pard \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid7412419\charrsid7412419 
However, additional samples, and "sister" libraries (DirectDraw, Windows Media Format, etc) are being discussed.  There has also been talk of wrapping these low-level interfaces into classes and making a true DirectShow Class library.  We'll see.}{
\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid8392103   }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid283711 To be informed of }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12737063 fixes and }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid283711 updates}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12737063  to the library}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid283711 , subscribe to the }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid283711\charrsid283711 directshownet-announce}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid283711  list at }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid283711  HYPERLINK "}{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid283711\charrsid283711 http://sourceforge.net/mail/?group_id=136334}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid283711 " }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid1639791\charrsid7876934 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b02000000170000002d00000068007400740070003a002f002f0073006f00750072006300650066006f007200670065002e006e00650074002f006d00610069006c002f003f00670072006f00750070005f00690064003d003100330036003300330034000000e0c9ea79f9bace11
8c8200aa004ba90b5a00000068007400740070003a002f002f0073006f00750072006300650066006f007200670065002e006e00650074002f006d00610069006c002f003f00670072006f00750070005f00690064003d00310033003600330033003400000000000020000000000000000000000000000000000000000000
000000000000}}}{\fldrslt {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \cs18\f1\fs20\ul\cf2\insrsid283711\charrsid7876934 http://sourceforge.net/mail/?group_id=136334}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid283711 .
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid596181 To our surprise, MS added more interfaces in W7.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2890626 
  While we have tested some of them, most require specific hardware that is not yet commonly available.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid596181\charrsid283711 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid10703373 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2845617\charrsid2829749 Reporting bugs
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12675304 
Bugs in this library should be reported to }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12675304  HYPERLINK "}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12675304\charrsid12675304 
http://sourceforge.net/tracker/?group_id=136334&atid=735691}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12675304 " }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid1639791\charrsid10515867 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b02000000170000003c00000068007400740070003a002f002f0073006f00750072006300650066006f007200670065002e006e00650074002f0074007200610063006b00650072002f003f00670072006f00750070005f00690064003d0031003300360033003300340026006100
7400690064003d003700330035003600390031000000e0c9ea79f9bace118c8200aa004ba90b7800000068007400740070003a002f002f0073006f00750072006300650066006f007200670065002e006e00650074002f0074007200610063006b00650072002f003f00670072006f00750070005f00690064003d00310033
003600330033003400260061007400690064003d00370033003500360039003100000000000000000000000000000000000000000000000000000000000000000000000000000000000000}}}{\fldrslt {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \cs18\f1\fs20\ul\cf2\insrsid12675304\charrsid10515867 
http://sourceforge.net/tracker/?group_id=136334&atid=735691}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12675304 .}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid2845617 
\par }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12675304 Note that only bugs in the library, samples, or docs that are part of this project should be reported here.  Bugs in DirectShow itself }{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid3160347 must be reported to Microsoft.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid12675304\charrsid12675304 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid6771254 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid6771254\charrsid2829749 Links for help
\par }\pard\plain \ltrpar\ql \li0\ri0\sb100\sa100\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid6771254 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid6771254\charrsid3885712 Your best place to start is the MSDN docs (see links under "}{\field\fldedit{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6771254\charrsid3885712  REF _Ref106788285 \\h }{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid1639791\charrsid3885712 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f00520065006600310030003600370038003800320038003500000000000000}}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid3885712\charrsid3885712  \\* MERGEFORMAT }}{\fldrslt {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16188510\charrsid16188510 Where to find the documentation}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid6771254\charrsid3885712 ").  If your question is about DirectShow in general, you might want to post to one of Microsoft's newsgroups (currently at }{\field{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 
\f1\fs20\insrsid16588813  HYPERLINK "}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16588813\charrsid2890626 http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?guid=13d3d7d1-9644-408f-8a73-46a39dd95cb6}{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid16588813 " }}{\fldrslt {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \cs18\f1\fs20\ul\cf2\insrsid16588813\charrsid7417158 http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?guid=13d3d7d1-9644-408f-8a73-46a39dd95cb6}}}
\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6771254\charrsid3885712 ).  If your question is specific to this library, you should post your question post in the \'93Open Discussion\'94 forum here: }
{\field{\*\fldinst {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16588813  HYPERLINK "}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16588813\charrsid16588813 https://sourceforge.net/projects/directshownet/forums/forum/460697}{\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16588813 " }}{\fldrslt {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \cs18\f1\fs20\ul\cf2\insrsid16588813\charrsid7417158 https://sourceforge.net/projects/directshownet/forums/forum/460697}}}\sectd \ltrsect
\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6771254\charrsid3885712 .}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16468135   Another excellent DirectShow site is }{\field\flddirty{\*\fldinst {\rtlch\fcs1 
\af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16468135  HYPERLINK "}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16468135\charrsid16468135 http://tmhare.mvps.org/}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid16468135 " }{\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid1639791\charrsid10306052 {\*\datafield 
00d0c9ea79f9bace118c8200aa004ba90b02000000170000001800000068007400740070003a002f002f0074006d0068006100720065002e006d007600700073002e006f00720067002f000000e0c9ea79f9bace118c8200aa004ba90b3000000068007400740070003a002f002f0074006d0068006100720065002e006d00
7600700073002e006f00720067002f0000000000000000000000000000}}}{\fldrslt {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \cs18\f1\fs20\ul\cf2\insrsid16468135\charrsid10306052 http://tmhare.mvps.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1\afs20 
\ltrch\fcs0 \f1\fs20\insrsid16468135  which also has links to other sites.}{\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f1\fs20\insrsid6771254\charrsid16468135 
\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0\pararsid2780820 \rtlch\fcs1 \ab\af1\afs26\alang1025 \ltrch\fcs0 
\b\f1\fs26\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \fs20\insrsid2845617\charrsid2829749 
\par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8
72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7
2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b
44d7a07a83c82f308ac7b0a0f0fbf90c2480980b58abc733615aa2d210c2e02cb04430076a7ee833dfb6ce62e3ed7e14693e8317d8cd0433bf5c60f53fea2fe7
065bd80facb647e9e25c7fc421fd2ddb526b2e9373fed4bb902e182e97b7b461e6bfad3f010000ffff0300504b030414000600080000002100a5d6a7e7c00000
00360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4fc7060abb08
84a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b63095120f88d94fbc
52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462a1a82fe353
bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f7468656d652f7468
656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b4b0d592c9c
070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b4757e8d3f7
29e245eb2b260a0238fd010000ffff0300504b03041400060008000000210096b5ade296060000501b0000160000007468656d652f7468656d652f7468656d65
312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87615b8116d8
a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad79482a9c04
98f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b5d8a314d3c
94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab999fb7b471
7509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9699640f671
9e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd5868b37a088d1
e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d60cf03ac1a5
193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f9e7ef3f2d1
17d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be15c308d3f2
8acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a99793849c26ae6
6252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d32a423279a
668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2af074481847
bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86e877f0034e
16bafb0e258ebb4faf06b769e888340b103d3311da9750aa9d0a1cd3e4efca31a3508f6d0c5c5c398602f8e2ebc71591f5b616e24dd893aa3261fb44f95d843b
5974bb5c04f4edafb95b7892ec1108f3f98de75dc97d5772bdff7cc95d94cf672db4b3da0a6557f70db629362d72bcb0431e53c6066acac80d699a6409fb44d0
8741bdce9c0e4971624a2378cceaba830b05366b90e0ea23aaa241845368b0eb9e2612ca8c742851ca251ceccc70256d8d87265dd96361531f186c3d9058edf2
c00eafe8e1fc5c509031bb4d680e9f39a3154de0accc56ae644441edd76156d7429d995bdd88664a9dc3ad50197c38af1a0c16d684060441db02565e85f3b966
0d0713cc48a0ed6ef7dedc2dc60b17e92219e180643ed27acffba86e9c94c78ab90980d8a9f0913ee49d62b512b79626fb06dccee2a432bbc60276b9f7dec44b
7904cfbca4f3f6443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc399161ee314bc2e75cf8759081743be1236ec4f4d6693e5336fb672c5dc24a8c33585b5fb
9cc24e1d4885545b58463634cc5416022cd19cacfccb4d30eb45296023fd35a458598360f8d7a4003bbaae25e331f155d9d9a5116d3bfb9a95523e51440ca2e0
088dd844ec6370bf0e55d027a012ae264c45d02f708fa6ad6da6dce29c255df9f6cae0ec38666984b372ab5334cf640b37795cc860de4ae2816e95b21be5ceaf
8a49f90b52a51cc6ff3355f47e0237052b81f6800fd7b802239daf6d8f0b1571a8426944fdbe80c6c1d40e8816b88b8569082ab84c36ff0539d4ff6dce591a26
ade1c0a7f669880485fd484582903d284b26fa4e2156cff62e4b9265844c4495c495a9157b440e091bea1ab8aaf7760f4510eaa69a6465c0e04ec69ffb9e65d0
28d44d4e39df9c1a52ecbd3607fee9cec7263328e5d661d3d0e4f62f44acd855ed7ab33cdf7bcb8ae889599bd5c8b3029895b6825696f6af29c239b75a5bb1e6
345e6ee6c28117e73586c1a2214ae1be07e93fb0ff51e133fb65426fa843be0fb515c187064d0cc206a2fa926d3c902e907670048d931db4c1a44959d366ad93
b65abe595f70a75bf03d616c2dd959fc7d4e6317cd99cbcec9c58b34766661c7d6766ca1a9c1b327531486c6f941c638c67cd22a7f75e2a37be0e82db8df9f30
254d30c1372581a1f51c983c80e4b71ccdd28dbf000000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f74
68656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f24
51eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198
720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528
a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100828abc13fa0000001c0200001300000000000000000000000000
000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b000000000000000000000000
002b0100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000140200007468
656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210096b5ade296060000501b000016000000000000000000
00000000d10200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b010000270000000000
00000000000000009b0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000960a00000000}
{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;
\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;
\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;
\lsdpriority39 \lsdlocked0 toc 7;\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;
\lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;
\lsdunhideused0 \lsdlocked0 Revision;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;
\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 0105000002000000180000004d73786d6c322e534158584d4c5265616465722e352e3000000000000000000000060000
d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd158be0f000000000000000000000000a0bd
2b6f81afca01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}